<?php
class Usuarios_Form_InformacionPar extends Form_Cna {
	protected $NivelesAcademicos;
	protected $AreasConocimiento;
	protected $ElementosForm;
	protected $array_tipos;
	protected $Tipo;
		
	public function __construct($options = null) {
		parent::__construct($options);
	}
	
	public function setNivelesAcademicos($NivelesAcademicos) {
		$this->NivelesAcademicos = $NivelesAcademicos;
	}
	
	public function setAreasConocimiento($AreasConocimiento) {
		$this->AreasConocimiento = $AreasConocimiento;
	}
	
	public function setElementosForm($ElementosForm) {
		$this->ElementosForm = $ElementosForm;
	}

	public function setTipo($Tipo) {
		$this->Tipo = $Tipo;
	}
	
	public function init() {
	    
		$this->setName('informacion');
		$this->setMethod("post");
		$this->setAttrib('enctype', 'multipart/form-data');
			    
	    $domConfig = Zend_Registry::get('domConfig');
	    $appConfig = Zend_Registry::get('appConfig');
	    
        $array_tipos = array(1=>"facademica",2=>"econtinuada",3=>"fevaluacion",4=>"tacademica",5=>"investigacion",6=>"extension",
		                           7=>"creacionartistica",8=>"organosacreditacion",9=>"eprofesional",10=>"pintelectual",11=>"premios",
		                           12=>"asociaciones",13=>"idiomas",14=>"informacionadicional");
		//Crea el formulario para el registro de usuarios del sistema
		$this->setName ( 'info_par' );
		$this->setMethod("POST");
		$this->setAttrib("autocomplete","on");
		
		$array_elements[] = new Zend_Form_Element_Hidden("borrarbusqueda");
		$array_elements[] = new Zend_Form_Element_Hidden("codusuario");
		$array_elements[] = new Zend_Form_Element_Hidden("codinformacion");
		$array_elements[] = new Zend_Form_Element_Hidden("tipo");

		if (isset($this->NivelesAcademicos)){
			$element = new Zend_Form_Element_Select('codnivel');
			$element->setLabel( 'Nivel académico : ' );
			$element->setRegisterInArrayValidator(false);
			$element->setMultiOptions($this->NivelesAcademicos);
	        $element->setRequired(true);
	        $array_elements1["codnivel"]=$element;
		}
		
		if (isset($this->AreasConocimiento)){
	        $element = new Zend_Form_Element_Select('codclasificacionarea');
			$element->setLabel( 'Area del conocimiento : ' );
			$element->setRegisterInArrayValidator(false);
			$element->setMultiOptions($this->AreasConocimiento);
	        $element->setRequired(true);
	        $array_elements1["codclasificacionarea"]=$element;
		}
        
		$element = new Zend_Form_Element_Text ( 'nombreinstitucion' );
		$element->setLabel ( 'Institución o entidad : ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>90));
		$array_elements1["nombreinstitucion"]=$element;
		
		$element = new Zend_Form_Element_Hidden("codinstitucion");
		$array_elements1["codinstitucion"]=$element;
		        
		$element = new Zend_Form_Element_Text ( 'tituloformacion' );
		$element->setLabel( 'Título obtenido : ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>50));
		$array_elements1["tituloformacion"]=$element;
		
		$element = new Zend_Form_Element_Text ( 'nombreformacion' );
		$element->setLabel( 'Nombre del programa : ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>50));
		$array_elements1["nombreformacion"]=$element;
				
		$element = new Zend_Form_Element_Text ( 'ubicacion' );
		$element->setLabel ( 'Ubicación : ' );
		$element->setAttribs(array('size'=>50));
//		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
		$array_elements1["ubicacion"]=$element;
		
		$element = new Zend_Form_Element_Hidden("codubicacion");
		$array_elements1["codubicacion"]=$element;

		$element = new Zend_Form_Element_Text('fechaformacion');
		$element->setLabel('Fecha de grado :');
		$element->setRequired(true);
		$element->setAttrib("readonly","readonly");
		$array_elements1["fechaformacion"] = $element;
		
		$element = new Zend_Form_Element_Text ( 'horascarga' );
		$element->setLabel( 'Carga horaria total : ' );
		$element->setAttribs(array('size'=>10));
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
		$element->addValidator ( 'digits' );
		$array_elements1["horascarga"]=$element;
		
		$element = new Zend_Form_Element_Text ( 'ultimacategoria' );
		$element->setLabel( 'Categoría más alta alcanzada en el escalafón docente : ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>50));
		$array_elements1["ultimacategoria"]=$element;

		$element = new Zend_Form_Element_Text('fechaingreso');
		$element->setLabel('Fecha ingreso :');
		$element->setRequired(true);
		$element->setAttrib("readonly","readonly");
		$array_elements1["fechaingreso"] = $element;

		$element = new Zend_Form_Element_Text('fecharetiro');
		$element->setLabel('Fecha retiro :');
//		$element->setRequired(true);
		$element->setAttrib("readonly","readonly");
		$array_elements1["fecharetiro"] = $element;
		
		$element = new Zend_Form_Element_Text ( 'facultad' );
		$element->setLabel( 'Facultad, Departamento, Unidad, Instituto u otro: ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>50));
		$array_elements1["facultad"]=$element;
		
		$element = new Zend_Form_Element_Textarea('descripcion');
		$element->setLabel('Descripción de las actividades y / o materia desarrolladas: ');
//		$element->setRequired(true);
		$element->addFilter('StripTags');
		$element->addFilter('StringTrim');
		$element->setAttrib("rows",3);
		$element->setAttrib("style","width:99%");
		$element->addValidator('StringLength', false, array($domConfig->TEXTO_TAMANOMIN));
//		$element->addFilter('StringToUpper');
		$array_elements1["descripcion"]=$element;
		
		$element = new Zend_Form_Element_Text ( 'nombrecargo' );
		$element->setLabel( 'Responsabilidad o cargo : ' );
		$element->setRequired ( true );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>50));
		$array_elements1["nombrecargo"]=$element;
				
		$element = new Zend_Form_Element_Select('dedicacion');
		$element->setLabel('Dedicación: ');
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->TIPODEDICACION->toArray());
        $element->setRequired(true);
        $array_elements1["dedicacion"]=$element;
        
		$element = new Zend_Form_Element_Text('porcentajededicacion');
		$element->setLabel('Porcentaje dedicación :');
		$element->addFilter('StripTags');
		$element->addFilter('StringTrim');
		$element->setAttrib("size",3);
		$element->addValidator("Int");
		$element->setRequired(true);
		$element->addValidator(new Zend_Validate_Between(0,100));
		$array_elements1["porcentajededicacion"]=$element;
        
		$element = new Zend_Form_Element_Textarea('financiacion');
		$element->setLabel('Entidades financiadoras: ');
		$element->setRequired(true);
		$element->addFilter('StripTags');
		$element->addFilter('StringTrim');
		$element->setAttrib("rows",3);
		$element->setAttrib("style","width:99%");
		$element->addValidator('StringLength', false, array($domConfig->TEXTO_TAMANOMIN));
//		$element->addFilter('StringToUpper');
		$array_elements1["financiacion"]=$element;

		$element = new Zend_Form_Element_Textarea('proyectos');
		$element->setLabel('Proyectos: ');
		$element->setRequired(true);
		$element->addFilter('StripTags');
		$element->addFilter('StringTrim');
		$element->setAttrib("rows",3);
		$element->setAttrib("style","width:99%");
		$element->addValidator('StringLength', false, array($domConfig->TEXTO_TAMANOMIN));
//		$element->addFilter('StringToUpper');
		$array_elements1["proyectos"]=$element;

		$element = new Zend_Form_Element_Textarea('actividades');
		$element->setLabel('Describa las actividades desarrolladas en los últimos cinco (5) años: ');
		$element->setRequired(true);
		$element->addFilter('StripTags');
		$element->addFilter('StringTrim');
		$element->setAttrib("rows",3);
		$element->setAttrib("style","width:99%");
		$element->addValidator('StringLength', false, array($domConfig->TEXTO_TAMANOMIN));
//		$element->addFilter('StringToUpper');
		$array_elements1["actividades"]=$element;
		
        $element = new Zend_Form_Element_Select('organo');
		$element->setLabel( 'Órgano : ' );
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->ORGANO_ACREDITACION->toArray());
        $element->setRequired(true);
        $element->setOptions(array('onChange'=>'ver_ocultar_organo(this);'));
        $array_elements1["organo"]=$element;
        
        $element = new Zend_Form_Element_Text('otroorgano');
		$element->setLabel('¿Cual? :');
		$element->addFilter('StringTrim');
		$element->setAttrib("style","display:none");
		$array_elements1["otroorgano"] = $element;

        $element = new Zend_Form_Element_Select('cargo');
		$element->setLabel( 'Cargo : ' );
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->CARGO->toArray());
        $element->setRequired(true);
        $array_elements1["cargo"]=$element;

        $element = new Zend_Form_Element_Select('tipoproduccion');
		$element->setLabel( 'Tipo de producción : ' );
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->TIPO_PRODUCCION->toArray());
        $element->setRequired(true);
        $element->setOptions(array('onChange'=>'ver_ocultar_produccion(this);'));
        $array_elements1["tipoproduccion"]=$element;
        
        $element = new Zend_Form_Element_Text('otraproduccion');
		$element->setLabel('¿Cual? :');
		$element->addFilter('StringTrim');
		$element->setAttrib("style","display:none");
		$array_elements1["otraproduccion"] = $element;
        
        $element = new Zend_Form_Element_Select('tipoasociacion');
		$element->setLabel( 'Tipo de asociación : ' );
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->TIPO_ASOCIACION->toArray());
        $element->setRequired(true);
        $element->setOptions(array('onChange'=>'ver_ocultar_asociacion(this);'));
        $array_elements1["tipoasociacion"]=$element;
        
        $element = new Zend_Form_Element_Text('otraasociacion');
		$element->setLabel('¿Cual? :');
		$element->addFilter('StringTrim');
		$element->setAttrib("style","display:none");
		$array_elements1["otraasociacion"] = $element;

        $element = new Zend_Form_Element_Select('sectorproductivo');
		$element->setLabel( 'Sector productivo : ' );
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->SECTOR_PRODUCTIVO->toArray());
        $element->setRequired(true);
        $array_elements1["sectorproductivo"]=$element;
        
		$element = new Zend_Form_Element_Text ( 'grupoinvestigacion' );
		$element->setLabel ( 'Nombre del grupo de investigación : ' );
		$element->addFilter ( 'StripTags' );
		$element->addFilter ( 'StringTrim' );
//		$element->addFilter('StringToUpper');
		$element->setAttribs(array('size'=>90));
		$array_elements1["grupoinvestigacion"]=$element;
		
		$element = new Zend_Form_Element_Checkbox( 'actualmente' );
		$element->setUncheckedValue("N");
		$element->setCheckedValue("S");
		$array_elements1["actualmente"]=$element;
		
		$element = new Zend_Form_Element_Select('codnivelcontinuada');
		$element->setLabel('Nivel académico : ');
		$element->setRegisterInArrayValidator(false);
		$element->setMultiOptions($domConfig->NIVEL_CONTINUADA->toArray());
        $element->setRequired(true);
        $element->setOptions(array('onChange'=>'ver_ocultar_nivel(this);'));
        $array_elements1["codnivelcontinuada"]=$element;
        
        $element = new Zend_Form_Element_Text('otronivelcontinuada');
		$element->setLabel('¿Cual? :');
		$element->addFilter('StringTrim');
		$element->setAttrib("style","display:none");
		$array_elements1["otronivelcontinuada"] = $element;
        
		$archivo = new Zend_Form_Element_File('archivo');
		$archivo->setLabel('Adjuntar archivo :');
        $archivo->setMaxFileSize(10485760);
		$archivo->addValidator('Size', false, 10485760); // 10MB = 10,485,760 bytes
		$archivo->setDestination($appConfig->get("ruta_archivos"));
//        $archivo->setRequired(true);
        $archivo->setValueDisabled(true);
        $archivo->addValidator('Extension', false, $domConfig->EXTENSIONES_ARCHIVOS);
        $array_elements1["archivo"] = $archivo;
        
        $array_elements1[] = new Zend_Form_Element_Hidden("coddocumento");
		
		foreach ($this->ElementosForm as $value) {
			    $array_elements[]= $array_elements1[$value];
		}

		$submit = new Zend_Form_Element_Submit ( 'btnSubmit' );
		$submit->setValue('Guardar');
		$submit->setLabel("Guardar");
		$submit->setAttrib("class", "iceCmdBtn");
		$submit->setDescription($this->createCommandLink("Cancelar", "usuarios/informacionpar/{$array_tipos[$this->Tipo]}", "Cancelar"));
		$array_elements[]=$submit;
		
		$this->addElements ($array_elements);
		
//		$this->loadTableDecorators();
		$this->loadViewScriptDecorators();
//		if($this->Tipo==14){
//		    $this->getElement("descripcion")->setDecorators($this->_buttonDecorators);
//		}
	}
//
	public function loadViewScriptDecorators() {
		$this->setDecorators ( array (array ('viewScript', array ('viewScript' => 'viewscripts/informacionpar_form.phtml' ) ) ) );
	}
	
}